﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">

<head>
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sample Queries</title>
<style type="text/css">
.red {
	color: #FF0000;
}
</style>
</head>

<body>

<h1>Welcome to the C# Samples</h1>
<h2>Unblocking Folder Links</h2>
<p>If you have downloaded these samples from the Internet and the folder links 
below do not function, you may need to unblock this ReadMe file.&nbsp; Try the 
following steps:</p>
<ol>
	<li>In <strong>Windows Explorer</strong>, right-click the <strong>
	ReadMe.html</strong> file you loaded to view this page, and click <strong>
	Properties</strong>.</li>
	<li>Click the <strong>Unblock</strong> button at the bottom of the property 
	pane, and then click <strong>OK</strong>.</li>
</ol>
<h2>Language Samples</h2>
<p>We have created a set of language samples to help you get familiar with 
various C# language features.&nbsp; They are available in the
<a href="LanguageSamples"><strong>LanguageSamples</strong></a> folder.</p>
<h2>LINQ Samples</h2>
<p>We have created four sets of samples for you that are designed to help you 
learn LINQ quickly, and to act as a reference and guide for those with more 
advanced skills. A few handy utilities are also included.</p>
<p><span class="red"><strong>Important:</strong></span> If the folder links 
below do not function, please follow the instructions above under <strong>
Unblocking Folder Links</strong>.</p>
<h3>Getting Started with LINQ</h3>
<ul>
	<li><strong><a href="LinqSamples/SampleQueries">SampleQueries</a></strong>: This is the most important sample and 
contains about 500 examples of how to use each of the query operators in LINQ 
to Objects, LINQ to SQL, LINQ to XML and LINQ to DataSet.<br />
	</li>
	<li><strong><a href="LinqSamples/SimpleLinqToObjects">SimpleLinqToObjects</a>:</strong> 
	The hello world of the LINQ samples. 
This shows you how easy it is to do simple queries of in-memory objects using LINQ to 
	Objects.</li>
	<li><strong><a href="LinqSamples/LinqToNorthwind">LinqToNorthwind</a></strong>: A basic example of how to use LINQ To SQL 
to query a database.</li>
	<li><strong><a href="LinqSamples/SimpleLinqToXml">SimpleLinqToXml</a></strong>: Get started using LINQ to XML.<br />
	</li>
	<li><strong><a href="LinqSamples/WinFormsDataBinding">WinFormsDataBinding</a></strong>: Learn how to display LINQ queries 
	with grids in a Windows form. It includes a one to many query example.</li>
	<li><strong><a href="LinqSamples/XQuery">XQuery</a></strong>: Another simple LINQ to XML sample query. This 
	sample shows the minimal code necessary to write a LINQ to XML query</li>
	<li><strong><a href="LinqSamples/LinqToXmlDataBinding">LinqToXmlDataBinding</a></strong>: Bind LINQ to XML code to WPF 
	controls.</li>
</ul>
<h3>Advanced Samples</h3>
<ul>
	<li><strong><a href="LinqSamples/DynamicQuery">DynamicQuery</a>: </strong>Code to create LINQ queries at run time.</li>
	<li><strong><a href="LinqSamples/Reflector">Reflector</a></strong>: Use LINQ to right queries against the 
	objects in your code using the Reflection APIs.</li>
	<li><strong><a href="LinqSamples/Rss">RSS</a></strong>: This sample acts as a tiny web server that 
	aggregates several RSS feeds</li>
	<li><strong><a href="LinqSamples/SimpleLambdas">SimpleLambdas</a></strong>:&nbsp; Several examples of how to write 
	and use lambda expressions.</li>
	<li><strong><a href="LinqSamples/WebServiceLinqProvider">
	WebServiceLinqProvider</a></strong>: A sample showing how to create a LINQ 
	provider to query Terraserver, a web service offering geographical data.</li>
</ul>
<h3>Addins and Visualizers</h3>
<ul>
	<li><strong><a href="LinqSamples/ExpressionTreeVisualizer">ExpressionTreeVisualizer</a></strong>: Create a visualization of an 
Expression Tree. </li>
	<li><strong><a href="LinqSamples/QueryVisualizer">QueryVisualizer</a></strong>: Allows LINQ to SQL developers to see the 
SQL for their query, and also to see the results of the query in a grid.</li>
	<li><strong><a href="LinqSamples/PasteXmlAsLinq">PasteXmlAsLinq</a>: </strong>A Visual Studio addin 
	that automatically converts XML markup to LINQ to XML code<strong>.&nbsp;
	</strong><em>Note:</em> Addins cannot be compiled or loaded within C# 
	Express.</li>
</ul>
<h3>Libraries or Utilities</h3>
<ul>
	<li><strong><a href="LinqSamples/Data">Data</a>: </strong>Contains XML files and a modified copy 
of the Northwind database for use by several of the other samples.</li>
	<li><strong><a href="LinqSamples/ObjectDumper">ObjectDumper</a>: </strong>A utility for writing the output from a LINQ 
query to the screen in text mode.</li>
	<li><strong><a href="LinqSamples/NorthwindMapping">NorthwindMapping</a></strong>: Contains the ORM mapping created by the 
LINQ to SQL designer for the Northwind database that ships with these samples. 
It is used by <strong>DynamicQuery</strong> and <strong>WinFormsDataBinding</strong>.</li>
	<li><strong><a href="LinqSamples/WhitePapers">Whitepapers</a></strong>: The following papers are stored in this 
	directory in Word format:<ul>
		<li>LINQ Project Overview</li>
		<li>LINQ to SQL Overview for C# and VB</li>
		<li>Standard Query Operators</li>
		<li>LINQ to XML Overview</li>
	</ul>
	</li>
</ul>

<h3>LINQ Samples Database Connectivity Issues</h3>
<p><a name="Connectivity">The default connect string for the samples should work without modification 
if you have SQL Server Express installed on your development machine. Here is an 
alternate connect string that you can modify for your own purposes if you are 
not using SQL Express but have SQL Server available. You will probably need to 
modify the word test wherever it appears in the sample connect string.</p>
<pre>string connString = 
  &quot;server=test;database=northwind;user id=test;password=test&quot;;
</pre>
<p>On some SQL Express installations, you may not have the rights to start a 
user instance. If you get an error message to that effect, try removing the 
clause &quot;;user instance = true&quot; from the connection string.</p>
<p>Be sure that the copies of the northwind database that you are accessing are 
not marked read only. If necessary, browse to the copy of NORTHWIND.MDF you are 
trying to access, right click on the file, choose properties. Clear the <strong>
Read-only</strong> attribute.</p>
<p>On some slow machines, or when using a virtual pc, users have reported that 
some database applications give errors the first time they run. Try running the 
sample two or three times.</p>
<p>The customized copies of the Northwind database included with the samples 
ship without an LDF (log) file. This is done intentionally, so that the LDF and 
MDF files do not get out of sync. When you run a sample that uses the database, 
or attach to the database from the Server Explorer inside Visual Studio, the LDF 
file will be created automatically. You may have trouble connecting to the MDF 
file if you are using the SQL Server Management Studio without first creating a 
log file.</p>

</body>

</html>
